package fr.gestproj.commun.datamodel;

import java.util.List;
import java.util.Map;

import org.primefaces.model.LazyDataModel;
import org.primefaces.model.SortMeta;

import fr.gestproj.facade.UtilisateurFacade;
import fr.gestproj.model.Utilisateur;
import fr.gestproj.model.dto.DTORetourPagination;
import fr.gestproj.utils.UtilsMetier;

public class DatamodelUtilisateur extends LazyDataModel<Utilisateur> {

	public DatamodelUtilisateur() {
	}

	@Override
	public Utilisateur getRowData(String rowKey) {
		return UtilsMetier.getBean(UtilisateurFacade.class).find(Integer.valueOf(rowKey));
	}

	@Override
	public Object getRowKey(Utilisateur object) {
		return object.getId();
	}

	@Override
	public List<Utilisateur> load(int first, int pageSize, List<SortMeta> multiSortMeta, Map<String, Object> filters) {
		DTORetourPagination retourPagination = UtilsMetier.getBean(UtilisateurFacade.class).findByPagination(first, pageSize, multiSortMeta, filters);
		setRowCount(retourPagination.getTotal());
		return retourPagination.getListe();
	}
}
